/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 言初
 * Date: 2023-11-15
 * Time: 21:54
 */
import java.util.*;

// 2586. 统计范围内的元音字符串数

class Solution {
    public int vowelStrings(String[] words, int left, int right) {
        // 官方题解蛮厉害的，想到了用哈希表（查找效率O(1)）
        //把所有的元音字符放到哈希表中，（HashSet）,
        //然后检查【left，right】范围内的字符串的首字母，和尾字母是否是元音字母，并记录符合字符串的数量num，然后返回
        HashSet<Character> set=new HashSet<>();
        // 元音字母是 'a'、'e'、'i'、'o'、'u'
        set.add('a');
        set.add('e');
        set.add('i');
        set.add('o');
        set.add('u');

        int num=0;//用来记录符合要求的字符串的数量

        // 遍历words数组中 【left，right】 范围内的字符串
        for(int i=left;i<=right;i++){
            String str=words[i];
            int len=str.length();
            //要拿到str的首字母，和尾字母
            char begin=str.charAt(0);
            char end=str.charAt(len-1);

            // 判断begin和end这2个字符是否都在set中（是否都为元音字母）
            if(set.contains(begin) && set.contains(end)){
                //如果这2个字符都是元音字母，那么num++
                num++;
            }
        }

        return num;
    }
}
